// Main.cpp : Defines the entry point for the console application.
//

#include "stdafx.h"
#include <vector>
#include <algorithm>
#include <iostream>
#include <string>

#include "Actions.h"

int _tmain(int argc, _TCHAR* argv[])
{
	// Loading the overall practice actions
	// Refine: using functional
	auto actions = loadFuncActions();

	// Then shipping them with definitly full-type declaration
	std::for_each (std::begin(actions), std::end(actions), [=](
		const std::function<void (void)>& action) mutable throw() -> void {
		// Call every action in turn
		action();
		std::cout << "--------------------------------Next action------------------------------" << std::endl;
	});


	// Enter to exit
	std::string junk;
	std::cout << "Press <enter> to exit:" << std::endl;
	std::getline(std::cin, junk);

	return 0;
}

// References:
// http://msdn.microsoft.com/en-us/library/windows/apps/hh279654.aspx